Biên dịch hoặc thông dịch máy Mã giả

Người ta thường đề nghị rằng những ngôn ngữ lập trình trong tương lại sẽ ngày càng tương tự như mã giả hoặc ngôn ngữ tự nhiên hơn là những ngôn ngữ hiện tại; ý tưởng đó là tốc độ máy tính ngày càng tăng và những tiến bộ trong công nghệ trình biên dịch sẽ cho phép máy tính tạo ra những chương trình từ những bản mô tả giải thuật, thay vì yêu cầu chi tiết phải do con người hiện thực.

Đã có nhiều cố gắng nhàm mang những yếu tố ngôn ngữ tự nhiên vào lập trình máy tính, và nó đã tạo ra những ngôn ngữ lập trình như HyperTalk, Lingo, AppleScript, SQLInform. Trong những ngôn ngữ này, dấu ngoặc đơn và những ký tự đặc biệt khác được thay thế bằng giới từ, dẫn đến một đoạn mã nói lên được nhiều điều. Điều này có thể khiến một người hiểu dễ dàng hơn mà không cần có kiến thức về ngôn ngữ và có thể cùng để học ngôn ngữ. Tuy nhiên, sự tương tự với ngôn ngữ tự nhiên thường chỉ là bề ngoài chứ chưa phải là thực chất. Các quy tắc cú pháp cũng chỉ nghiêm ngặt và hình thức như trong ngôn ngữ quy ước, và không khiến cho việc phát triển phần mềm dễ dàng hơn.

Các ngôn ngữ lập trình toán học

Một cách thay thế cho việc sử dụng mã giả toán học (sử dụng ký hiệu lý thuyết tập hợp hoặc phép toán ma trận) để ghi lại giải thuật đó là sử dụng một ngôn ngữ lập trình toán học hình thức, là một sự pha trộn giữa các ký hiệu toán học không phải ASCII với cấu trúc điều khiển chương trình. Nhờ đó đoạn mã có thể được phân tích cú pháp và thông dịch bằng máy.

Một vài ngôn ngữ mô tả hình thức bao gồm ký hiệu lý thuyết tập hợp sử dụng các ký tự đặc biệt. Ví dụ như:

Một số ngôn ngữ lập trình mảng bao gồm các biểu thức véc-tơ hóa và phép toán ma trận như các công thức không ASCII, pha trộn với cấu trúc điều khiển quy ước. Ví dụ: